package com.jymj.entity;

import com.jymj.common.validator.group.AddGroup;
import com.jymj.common.validator.group.UpdateGroup;
import com.jymj.enumEntity.SysXzqTypeEnum;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;

/**
 * 系统用户
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2016年9月18日 上午9:28:55
 */
public class SysXzqEntity implements Serializable {


    private static final long serialVersionUID = -41173354700427962L;
    /**
     * 行政区 ID
     */
    private Long xzqId;
    /**
     * 父菜单ID，一级菜单为0
     */
    private Long parentId;

    /**
     * 行政区名称
     */
    @NotBlank(message = "不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String name;

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    /**
     * 一级名称
     */
    private String parentName;
    /**
     * 标识
     */
    private String perms;

    private Integer orderNum;

    private Integer type;
    private String typeName;

    private String code;

    private String center;

    /**
     * 户数
     */
    private Integer hs;
    /**
     * 人口数
     */
    private Integer rk;
    /**
     * 宅基地数
     */
    private Integer zs;
    //占地面积
    private BigDecimal zhzdmj = new BigDecimal(0);
    //建筑面积
    private BigDecimal zhjzmj = new BigDecimal(0);
    //占地面积（总计）平米 做户均使用
    private BigDecimal zhaizdmj;
    //建筑面积（总计）平米
    private BigDecimal zhaijzmj;
    //农个数、非农个数
    private Integer ncount;
    private Integer feincount;
    //男、女
    private Integer nan;
    private Integer nv;
    private BigDecimal area;
    private Integer count4;
    private BigDecimal count4Zdmj;
    private BigDecimal count4Jzmj;
    private Integer count46;
    private BigDecimal count46Zdmj;
    private BigDecimal count46Jzmj;
    private Integer count68;
    private BigDecimal count68Zdmj;
    private BigDecimal count68Jzmj;
    private Integer count81;
    private BigDecimal count81Zdmj;
    private BigDecimal count81Jzmj;
    private Integer count1;
    private BigDecimal count1Zdmj;
    private BigDecimal count1Jzmj;

    //建筑面积户均 平米
    private BigDecimal zhjzhj;

    //占地面积户均 平米
    private BigDecimal zhzdhj;

    private BigDecimal txNydmj;

    private BigDecimal txWlydmj;

    private BigDecimal txJsydmj;

    private BigDecimal txTjsmj;
    private List<SysXzqEntity> sysXzqEntities;
    private Integer wlrk;
    private Integer czrk;
    private Integer fjtjjzzcy;
    private BigDecimal zj;
    private Integer cuncount;

    //新加
    private Integer zzcy;//		集体组织成员
    private Integer yhdz;//		一户多宅宗数  1
    private Integer qc;//			迁出宗数5
    private Integer bdmm;//		本地买卖宗数2
    private Integer wdmm;//			外地买卖宗数3
    private Integer apptype;//翻建状态---宅基地情况
    private Integer sqtype;//申请状态
    private Integer lztype;//流转状态
    private Integer tctype;//退出状态
    private Integer cqsp;//审批----产权来源
    private Integer cqzj;//自建
    private Integer cqmm;//买卖
    private Integer cqjc;//继承
    private Integer cqqt;//其他
    private Integer syqkzz;//自住----使用情况
    private Integer syqkxz;//闲置
    private Integer syqkcz;//出租
    private Integer syqkjy;//经营
    private Integer jcnd83;//1983前---建成年代
    private Integer jcnd83h;//1983后
    private Integer jzjgjyf;//简易房----建筑结构
    private Integer jzjgzm;//砖木结构
    private Integer jzjggj;//钢筋混凝土结构
    private Integer jzjgg;//钢结构
    private Integer cs1;//2层----层数
    private Integer cs2;//3层
    private Integer cs3;//3层以上
    //geometry
    private String geometry;

    public String getGeometry() {
        return geometry;
    }

    public void setGeometry(String geometry) {
        this.geometry = geometry;
    }

    public Integer getZzcy() {
        return zzcy;
    }

    public void setZzcy(Integer zzcy) {
        this.zzcy = zzcy;
    }

    public Integer getYhdz() {
        return yhdz;
    }

    public void setYhdz(Integer yhdz) {
        this.yhdz = yhdz;
    }

    public Integer getQc() {
        return qc;
    }

    public void setQc(Integer qc) {
        this.qc = qc;
    }

    public Integer getBdmm() {
        return bdmm;
    }

    public void setBdmm(Integer bdmm) {
        this.bdmm = bdmm;
    }

    public Integer getWdmm() {
        return wdmm;
    }

    public void setWdmm(Integer wdmm) {
        this.wdmm = wdmm;
    }

    public Integer getApptype() {
        return apptype;
    }

    public void setApptype(Integer apptype) {
        this.apptype = apptype;
    }

    public Integer getSqtype() {
        return sqtype;
    }

    public void setSqtype(Integer sqtype) {
        this.sqtype = sqtype;
    }

    public Integer getLztype() {
        return lztype;
    }

    public void setLztype(Integer lztype) {
        this.lztype = lztype;
    }

    public Integer getTctype() {
        return tctype;
    }

    public void setTctype(Integer tctype) {
        this.tctype = tctype;
    }

    public Integer getCqsp() {
        return cqsp;
    }

    public void setCqsp(Integer cqsp) {
        this.cqsp = cqsp;
    }

    public Integer getCqzj() {
        return cqzj;
    }

    public void setCqzj(Integer cqzj) {
        this.cqzj = cqzj;
    }

    public Integer getCqmm() {
        return cqmm;
    }

    public void setCqmm(Integer cqmm) {
        this.cqmm = cqmm;
    }

    public Integer getCqjc() {
        return cqjc;
    }

    public void setCqjc(Integer cqjc) {
        this.cqjc = cqjc;
    }

    public Integer getCqqt() {
        return cqqt;
    }

    public void setCqqt(Integer cqqt) {
        this.cqqt = cqqt;
    }

    public Integer getSyqkzz() {
        return syqkzz;
    }

    public void setSyqkzz(Integer syqkzz) {
        this.syqkzz = syqkzz;
    }

    public Integer getSyqkxz() {
        return syqkxz;
    }

    public void setSyqkxz(Integer syqkxz) {
        this.syqkxz = syqkxz;
    }

    public Integer getSyqkcz() {
        return syqkcz;
    }

    public void setSyqkcz(Integer syqkcz) {
        this.syqkcz = syqkcz;
    }

    public Integer getSyqkjy() {
        return syqkjy;
    }

    public void setSyqkjy(Integer syqkjy) {
        this.syqkjy = syqkjy;
    }

    public Integer getJcnd83() {
        return jcnd83;
    }

    public void setJcnd83(Integer jcnd83) {
        this.jcnd83 = jcnd83;
    }

    public Integer getJcnd83h() {
        return jcnd83h;
    }

    public void setJcnd83h(Integer jcnd83h) {
        this.jcnd83h = jcnd83h;
    }

    public Integer getJzjgjyf() {
        return jzjgjyf;
    }

    public void setJzjgjyf(Integer jzjgjyf) {
        this.jzjgjyf = jzjgjyf;
    }

    public Integer getJzjgzm() {
        return jzjgzm;
    }

    public void setJzjgzm(Integer jzjgzm) {
        this.jzjgzm = jzjgzm;
    }

    public Integer getJzjggj() {
        return jzjggj;
    }

    public void setJzjggj(Integer jzjggj) {
        this.jzjggj = jzjggj;
    }

    public Integer getJzjgg() {
        return jzjgg;
    }

    public void setJzjgg(Integer jzjgg) {
        this.jzjgg = jzjgg;
    }

    public Integer getCs1() {
        return cs1;
    }

    public void setCs1(Integer cs1) {
        this.cs1 = cs1;
    }

    public Integer getCs2() {
        return cs2;
    }

    public void setCs2(Integer cs2) {
        this.cs2 = cs2;
    }

    public Integer getCs3() {
        return cs3;
    }

    public void setCs3(Integer cs3) {
        this.cs3 = cs3;
    }

    public Integer getCuncount() {
        return cuncount;
    }

    public void setCuncount(Integer cuncount) {
        this.cuncount = cuncount;
    }

    public BigDecimal getZj() {
        return zj == null ? new BigDecimal(0) : zj.setScale(2, RoundingMode.HALF_UP);
    }

    public void setZj(BigDecimal zj) {
        this.zj = zj;
    }

    public Integer getHs() {
        return hs;
    }

    public void setHs(Integer hs) {
        this.hs = hs;
    }

    public Integer getRk() {
        return rk;
    }

    public void setRk(Integer rk) {
        this.rk = rk;
    }

    public Integer getZs() {
        return zs;
    }

    public void setZs(Integer zs) {
        this.zs = zs;
    }

    public BigDecimal getZhzdmj() {
        return zhzdmj;
    }

    public void setZhzdmj(BigDecimal zhzdmj) {
        this.zhzdmj = zhzdmj;
    }

    public BigDecimal getZhjzmj() {
        return zhjzmj;
    }

    public void setZhjzmj(BigDecimal zhjzmj) {
        this.zhjzmj = zhjzmj;
    }

    public BigDecimal getZhaizdmj() {
        return zhaizdmj;
    }

    public void setZhaizdmj(BigDecimal zhaizdmj) {
        this.zhaizdmj = zhaizdmj;
    }

    public BigDecimal getZhaijzmj() {
        return zhaijzmj;
    }

    public void setZhaijzmj(BigDecimal zhaijzmj) {
        this.zhaijzmj = zhaijzmj;
    }

    public Integer getNcount() {
        return ncount;
    }

    public void setNcount(Integer ncount) {
        this.ncount = ncount;
    }

    public Integer getFeincount() {
        return feincount;
    }

    public void setFeincount(Integer feincount) {
        this.feincount = feincount;
    }

    public Integer getNan() {
        return nan;
    }

    public void setNan(Integer nan) {
        this.nan = nan;
    }

    public Integer getNv() {
        return nv;
    }

    public void setNv(Integer nv) {
        this.nv = nv;
    }

    public BigDecimal getArea() {
        return area;
    }

    public void setArea(BigDecimal area) {
        this.area = area;
    }

    public Integer getCount4() {
        return count4;
    }

    public void setCount4(Integer count4) {
        this.count4 = count4;
    }

    public BigDecimal getCount4Zdmj() {
        return count4Zdmj;
    }

    public void setCount4Zdmj(BigDecimal count4Zdmj) {
        this.count4Zdmj = count4Zdmj;
    }

    public BigDecimal getCount4Jzmj() {
        return count4Jzmj;
    }

    public void setCount4Jzmj(BigDecimal count4Jzmj) {
        this.count4Jzmj = count4Jzmj;
    }

    public Integer getCount46() {
        return count46;
    }

    public void setCount46(Integer count46) {
        this.count46 = count46;
    }

    public BigDecimal getCount46Zdmj() {
        return count46Zdmj;
    }

    public void setCount46Zdmj(BigDecimal count46Zdmj) {
        this.count46Zdmj = count46Zdmj;
    }

    public BigDecimal getCount46Jzmj() {
        return count46Jzmj;
    }

    public void setCount46Jzmj(BigDecimal count46Jzmj) {
        this.count46Jzmj = count46Jzmj;
    }

    public Integer getCount68() {
        return count68;
    }

    public void setCount68(Integer count68) {
        this.count68 = count68;
    }

    public BigDecimal getCount68Zdmj() {
        return count68Zdmj;
    }

    public void setCount68Zdmj(BigDecimal count68Zdmj) {
        this.count68Zdmj = count68Zdmj;
    }

    public BigDecimal getCount68Jzmj() {
        return count68Jzmj;
    }

    public void setCount68Jzmj(BigDecimal count68Jzmj) {
        this.count68Jzmj = count68Jzmj;
    }

    public Integer getCount81() {
        return count81;
    }

    public void setCount81(Integer count81) {
        this.count81 = count81;
    }

    public BigDecimal getCount81Zdmj() {
        return count81Zdmj;
    }

    public void setCount81Zdmj(BigDecimal count81Zdmj) {
        this.count81Zdmj = count81Zdmj;
    }

    public BigDecimal getCount81Jzmj() {
        return count81Jzmj;
    }

    public void setCount81Jzmj(BigDecimal count81Jzmj) {
        this.count81Jzmj = count81Jzmj;
    }

    public Integer getCount1() {
        return count1;
    }

    public void setCount1(Integer count1) {
        this.count1 = count1;
    }

    public BigDecimal getCount1Zdmj() {
        return count1Zdmj;
    }

    public void setCount1Zdmj(BigDecimal count1Zdmj) {
        this.count1Zdmj = count1Zdmj;
    }

    public BigDecimal getCount1Jzmj() {
        return count1Jzmj;
    }

    public void setCount1Jzmj(BigDecimal count1Jzmj) {
        this.count1Jzmj = count1Jzmj;
    }

    public BigDecimal getZhjzhj() {
        return zhjzhj;
    }

    public void setZhjzhj(BigDecimal zhjzhj) {
        this.zhjzhj = zhjzhj;
    }

    public BigDecimal getZhzdhj() {
        return zhzdhj;
    }

    public void setZhzdhj(BigDecimal zhzdhj) {
        this.zhzdhj = zhzdhj;
    }

    public BigDecimal getTxNydmj() {
        return txNydmj;
    }

    public void setTxNydmj(BigDecimal txNydmj) {
        this.txNydmj = txNydmj;
    }

    public BigDecimal getTxWlydmj() {
        return txWlydmj;
    }

    public void setTxWlydmj(BigDecimal txWlydmj) {
        this.txWlydmj = txWlydmj;
    }

    public BigDecimal getTxJsydmj() {
        return txJsydmj;
    }

    public void setTxJsydmj(BigDecimal txJsydmj) {
        this.txJsydmj = txJsydmj;
    }

    public BigDecimal getTxTjsmj() {
        return txTjsmj;
    }

    public void setTxTjsmj(BigDecimal txTjsmj) {
        this.txTjsmj = txTjsmj;
    }

    public List<SysXzqEntity> getSysXzqEntities() {
        return sysXzqEntities;
    }

    public void setSysXzqEntities(List<SysXzqEntity> sysXzqEntities) {
        this.sysXzqEntities = sysXzqEntities;
    }

    public Integer getWlrk() {
        return wlrk;
    }

    public void setWlrk(Integer wlrk) {
        this.wlrk = wlrk;
    }

    public Integer getCzrk() {
        return czrk;
    }

    public void setCzrk(Integer czrk) {
        this.czrk = czrk;
    }

    public Integer getFjtjjzzcy() {
        return fjtjjzzcy;
    }

    public void setFjtjjzzcy(Integer fjtjjzzcy) {
        this.fjtjjzzcy = fjtjjzzcy;
    }

    public String getCenter() {
        return center;
    }

    public void setCenter(String center) {
        this.center = center;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTypeName() {
        if (getType() == null) {
            return null;
        }
        return SysXzqTypeEnum.getName(getType());
    }

    public Long getXzqId() {
        return xzqId;
    }

    public void setXzqId(Long xzqId) {
        this.xzqId = xzqId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPerms() {
        return perms;
    }

    public void setPerms(String perms) {
        this.perms = perms;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
}
